#ifndef  SMSET_H
#define  SMSET_H
#include "option.h"
#include "cmdfifo.h"
#include "SIM900A.h"

typedef enum
{
    CMD_QUERY_DP,             //查询大棚温湿度 
    CMD_QUERY_TEL,            //查询手机号     
    CMD_QUERY_SIM_REGSTAT,    //检查sim卡注册状态
    CMD_PROC_BALANCE,         //处理余额           
    CMD_QUERY_BALANCE,        //发送短信查询余额     
    CMD_CALL_PHONE,           //拨打报警手机号 
    CMD_SET_SYS_TIME,         //设置系统时间     
    CMD_RUN_ATH,              //挂断电话          
    CMD_HARD_REBOOT,          //模块硬件重启 
    CMD_FLUSH_SMS,            //flush短信缓冲区      
    CMD_RES_SETUP_INFO,       //回复命令处理结果      
}cmd_id_t;

void    sm_init(option_t *option);          //初始化全局设置指针
int     sm_parse_data(char *data);          //分析短信数据

int     sm_query_balance(char *pdu_text);   //在短信内容中提取余额信息
int     sm_exec_query_balance(void);         //通知系统发送查询余额短信

int     sm_set_recipient(char *pdu_num);    //设置信息收信人
int     sm_set_time (char * time);          //使用CCLK的格式设置时间

uint8_t sm_get_balance(void);               //获得话费余额

void    sm_inner_cmd_loop(void);            //内部命令主循环，需要短周期循环执行
int     sm_inner_cmd_push_fifo (cmd_id_t cmd, char param);

//int     sm_option_view_dp_info(int dp_num); //查询大棚数据

#endif  /*SMSET_H*/
